<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                >
    <ui:define name="content">
        <h:form id="formvehiculo">
            <p:growl autoUpdate="true"/>
            <p:panel header="Gestion de Vehiculos">
                <p:tabView id="tabView"  dynamic="false">
                    <p:tab id="tba1" title="Registro de Vehiculos">
                        <h:outputLabel style="font-size: x-small" value="(*) Campo obligatorio"/>
                        <br/>
                        <br/>
                        <h:panelGrid columns="4" id="idvehiculopanel">
                            <p:outputLabel value="Fecha:" for="idfecha"/>
                            <p:outputPanel>
                                <p:calendar size="35" required="true" value="#{vehiculoController.vehiculo.fecha}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfecha" requiredMessage='El campo "Fecha" es requerido'/>
                                <p:watermark for="idfecha" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel value="Fecha itv:" for="idfechaitv"/>
                            <p:outputPanel>
                                <p:calendar size="35" required="true" value="#{vehiculoController.vehiculo.fechaitv}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfechaitv" requiredMessage='El campo "Fecha itv es requerido'/>
                                <p:watermark for="idfechaitv" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel value="Fecha revision:" for="idfecharev"/>
                            <p:outputPanel>
                                <p:calendar size="35" required="true" value="#{vehiculoController.vehiculo.fecharevision}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfecharev" requiredMessage='El campo "Fecha revision" es requerido'/>
                                <p:watermark for="idfecharev" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel  value="Kilomentro" for="vehiculokilometro"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="35" value="#{vehiculoController.vehiculo.km}" id="vehiculokilometro" required="true" requiredMessage='El campo "Km" es requerido'/>
                            <p:outputLabel value="Matricula:" for="vehiculomatricula" />
                            <p:inputText maxlength="7" size="35" value="#{vehiculoController.vehiculo.matricula}" id="vehiculomatricula" required="true" requiredMessage='El campo "Matricula" es requerido'/>
                            <p:outputPanel/>
                            <p:outputPanel/>
                            <p:commandButton update="idvehiculopanel idtablevehiculo" process="@this idfecha idfechaitv idfecharev vehiculokilometro vehiculomatricula" value="Guardar" actionListener="#{vehiculoController.save}"/>
                            <p:commandButton value="Cancelar" process="@this" actionListener="#{vehiculoController.init()}" update="idvehiculopanel"/>

                        </h:panelGrid>
                    </p:tab>  
                    <p:tab id="tba2" title="Listar Vehiculos" >
                        <h:panelGrid columns="3">
                            <h:inputText id="idbuscarprof" size="50" value="#{vehiculoController.valorBusqueda}"/>
                            <p:watermark for="idbuscarprof" value="Digite Matricula " /> 
                            <p:commandButton process="idbuscarprof @this" value="Buscar" update="idtablevehiculo" action="#{vehiculoController.search}"/>
                        </h:panelGrid>
                        <p:dataTable id="idtablevehiculo" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{vehiculoController.listaVehiculo}" var="varvehiculo">
                            <p:column headerText="Fecha">
                                #{vehiculoController.formatFecha(varvehiculo.fecha)}
                            </p:column>
                            <p:column headerText="Fecha itv">
                                #{vehiculoController.formatFecha(varvehiculo.fechaitv)}
                            </p:column>
                            <p:column headerText="Fecha revision">
                                #{vehiculoController.formatFecha(varvehiculo.fecharevision)}
                            </p:column>
                            <p:column headerText="matricula">
                                #{varvehiculo.matricula}
                            </p:column>
                            <p:column headerText="Seccion">
                                #{varvehiculo.seccion.nombre}
                            </p:column>
                            <p:column headerText="Acciones">
                                <p:commandButton value="Editar" process="@this idtablevehiculo" update=":formvehiculo:tabView">
                                    <f:setPropertyActionListener target="#{vehiculoController.vehiculo}" value="#{varvehiculo}"/>
                                </p:commandButton>
                            </p:column>
                        </p:dataTable>
                    </p:tab>
                    <p:tab id="tba3" title="Mantenimiento de Vehiculos" >
                        <p:growl autoUpdate="true"/>
                        <h:outputLabel style="font-size: x-small" value="(*) Campo obligatorio"/>
                        <br/>
                        <br/>
                        <h:panelGrid columns="4" id="idfacturapanel">
                            <p:outputLabel value="Fecha" for="facturafecha"/>
                            <p:outputPanel>
                                <p:calendar size="35" value="#{facturaController.factura.fecha}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="facturafecha" required="true" requiredMessage='El campo "Fecha" es requerido'/>
                                <p:watermark for="facturafecha" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel value="Concepto" for="facturaconcepto"/>
                            <p:inputTextarea value="#{facturaController.factura.concepto}" maxlength="500" autoResize="false" style="width: 250px" required="true"   id="facturaconcepto" requiredMessage='El campo "Concepto" es requierido' />
                            <h:outputLabel value="Vehiculo" />
                            <p:selectOneMenu id="idvehiculo" value="#{facturaController.factura.vehiculo}" style="width: 249px" converter="vehiculo" >
                                <f:selectItems value="#{facturaController.listaVehiculo}" var="vehiculo" itemLabel="#{vehiculo.matricula}" itemValue="#{vehiculo}"/>
                            </p:selectOneMenu>
                            <p:outputLabel  value="Kilomentro" for="facturakilometro"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="37" value="#{facturaController.factura.km}" id="facturakilometro" required="true" requiredMessage='El campo "Km" es requerido'/>
                            <p:outputLabel value="Grupo" for="facturagrupo" />
                            <p:selectOneMenu converter="seccione" id="facturagrupo" style="width: 249px" value="#{facturaController.factura.seccion}">
                                <f:selectItems value="#{facturaController.listaSeccion}" var="seccione" itemLabel="#{seccione.nombre}" itemValue="#{seccione}"/>
                            </p:selectOneMenu>
                            <p:outputLabel value="Proveedor" for="facturaproveedor" />
                            <p:selectOneMenu converter="proveedor" id="facturaproveedor" style="width: 260px" value="#{facturaController.factura.proveedor}">
                                <f:selectItems value="#{facturaController.listaProveedor}" var="proveedor" itemLabel="#{proveedor.nombres}" itemValue="#{proveedor}"/>
                            </p:selectOneMenu>
                            <p:outputLabel  value="Total" for="facturatotal"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999"  placeHolder="" size="35" value="#{facturaController.factura.total}" id="facturatotal" required="true" requiredMessage='El campo "Total" es requerido'/>
                            <p:commandButton update="idfacturapanel idtablefacturas" process="@this facturatotal facturaproveedor idvehiculo facturagrupo facturakilometro facturaconcepto facturafecha" value="Guardar" actionListener="#{facturaController.save()}"/>
                            <p:commandButton value="Cancelar" process="@this" actionListener="#{facturaController.init()}" update="idfacturapanel"/>
                        </h:panelGrid>
                    </p:tab>
                    <p:tab id="tba4" title="Listar Mantenimiento Vehiculos" >
                        <h:panelGrid columns="7">
                            <h:inputText id="idbuscarfact" value="#{facturaController.valorBusqueda}"/>
                            <p:watermark for="idbuscarfact" value="Digite Matricula" /> 
                            <p:calendar readonlyInput="true" mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{facturaController.fechaI}"  id="fechadesde" />
                            <p:watermark for="fechadesde" value="Fecha Desde(dd/mm/aa)" /> 
                            <p:calendar readonlyInput="true" mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{facturaController.fechaF}"  id="fechahasta" />
                            <p:watermark for="fechahasta" value="Fecha Hasta(dd/mm/aa)" /> 
                            <p:commandButton process="fechadesde fechahasta idbuscarfact @this" value="Buscar" update="idtablefacturas" action="#{facturaController.search()}"/>
                        </h:panelGrid>
                        <p:dataTable id="idtablefacturas" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{facturaController.listaFactura}" var="varfactura">
                            <p:column headerText="Fecha">
                                #{facturaController.formatFecha(varfactura.fecha)}
                            </p:column>
                            <p:column headerText="Concepto">
                                #{varfactura.concepto}
                            </p:column>
                            <p:column headerText="Vehiculo">
                                #{varfactura.vehiculo.matricula}
                            </p:column>
                            <p:column headerText="Km">
                                #{varfactura.km}
                            </p:column>
                            <p:column headerText="Proveedor">
                                #{varfactura.proveedor.nombres}
                            </p:column>
                            <p:column headerText="Total">
                                #{varfactura.total}
                            </p:column>
                            <p:column headerText="Imprimir">
                                <p:commandButton immediate="true" icon="ui-icon-circle-check" action="#{vehiculoController.prueba(varfactura.vehiculo.matricula, varfactura.fecha, varfactura.fecha)}" />
                                <p:commandButton immediate="true" process="@this" id="downloadLink" value="Descargar" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)"   
                                                 icon="ui-icon-circle-arrow-s">  
                                    <p:fileDownload value="#{vehiculoController.dc}" />  
                                </p:commandButton> 
                            </p:column>
                        </p:dataTable>
                    </p:tab>
                </p:tabView> 
            </p:panel>
        </h:form>
    </ui:define>
</ui:composition>
